前言
这是一个系列的第一篇,这个系列文章是《Data Analysis for the Life Sciences》这本书的读书笔记。
此书一共分了10部分,分别为:
- 第一章:数据准备(Getting Started)
- 第二章:统计推断(Inference)
- 第三章:数据挖掘(Exploratory Data Analysis)
- 第四章:矩阵代数(Matrix Algebra)
- 第五章:线性模型(Linear Models)
- 第六章:高维数据推断(Inference For high Dimensional Data)
- 第七章:统计模型(Statistical Models)
- 第八章:距离与降低(Distance and Dimension Reduction)
- 第九章:基础机器学习(Basic Machine Learning)
- 第十章:批次效应(Batch Effects)
这篇笔记是《Data Analysis for the Life Sciences》第一章的内容,是关于书中原始数据的准备,相关知识主要是R语言的基础语法,文件路径操作,数学符号。
作者已经把这本书中的所有代码已经分享到了Github上,可以参考。
R语言包与原始数据准备
这本书中涉及到的统计学原理与案例分析都是通过R语言实现的,作者也把相应的脚本与数据放到了Github上。
这里先安装几个R包,如下所示:
|
|
加载原始数据 ,如下所示:
|
|
上面的代码使用了到几个包与命令,其中devtool
包中的install_github()
函数用于直接从Github下载相应包,以前的笔记中已经说明了这个包的用法《R语言笔记之包的操作与内置数据集》。
另外还有两个函数,其中system.file()
函数的功能是:发现包的完整路径名,例如上面的变量dir
的输出就是如下所示:
|
|
list.files()
函数的功能是列出相应路径下的文件,如下所示:
|
|
使用list.files()
函数还能继续列举出目录下一层目录中的内容,例如现在我们列出extdata
这个目录中的内容,如下所示:
|
|
其中这里面用到file.path()
函数,它的功能是将字符串连接起来,形成路径,如下所示:
|
|
现在加载原始数据,如下所示:
|
|
数据如下所示:
|
|
从数据我们可以知道,这是一个数据框,有2列,第1列是小鼠的包含情况,分别是chow(正常组),hf(高脂组,就是high fat的缩写),第2列的体重,从常识可以知道,单位是g(一只标准的小鼠体重是18-22g)。
以上是原始数据的下载过程,涉及到的知识点为:R包的下载与加载,另外,也可以通过downloader
包来下载原始数据,整个操作如下所示:
|
|
这一过程不再演示,跟前面的目的是一样,都是下载原始数据。
有了原始数据后,现在过程一下数据,我们捏造chow组的小鼠数据,如下所示:
|
|
结果如下所示:
|
|
仅提取chow组的体重,如下所示:
|
|
结果如下所示:
|
|
从上面结果可以看出来,chowVals
是一个数据框,现在我们将其转换为数字向量:
|
|
如下所示:
|
|
数学术语与符号
作者在书中提到,他会尽量避免使用数学术语与数学符号,但是,有一些太常见的数据符号是大家常见的,需要知道。
希腊字母
$\sum$是希腊字母中的S的写法,表示相加,例如$S=\sum_{i=1}^{n} x_{i}$
$\mu$表示未知均数,相当于m,即mean;
$\sigma$表示标准差,相当于s,即standard difference;
$\epsilon$表示随机误差,相当于error;
$\beta$表示效应,即effect。
无穷(Infinity)
书中指出,我们经常使用的统计学结果是一种渐进结果(asymptotic results)。这个渐进结果指的是一种近似(approximation),也就是说随着数据点数目的增大,这个结果只能接近,无法完全相等,只有当数据点的数目是无穷($\infty$)时,数字最接近,看下面的一个案例:
|
|
在这个案例中,我们就看到了,0.3的1到n次方的和是接近1/3的。
积分(Integrals)
积分在统计学也是比较常用的一个手段,有的时候要计算某个统计学分布的概率分布例如下面的这个曲线:
这个曲线是一个概率密度曲线,右下角的灰色面积占整个曲线下面积的比例,就是相应的概率(后面会讲),那么通过积分的手段来计算面积的分公式就是:
练习
原书P16页